/*
    Copyright 2006 Andrew Wilkinson <andrew@indiegigs.co.uk>

    This file is part of libgp2x.

    libgp2x is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    libgp2x is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with libgp2x; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/

#include <ctype.h>

#define NO_INTERNAL
#include "gp2x_internal.h"

__int32_t ctype_toupper_data[] = {
        -128,         -127,         -126,         -125,
        -124,         -123,         -122,         -121,
        -120,         -119,         -118,         -117,
        -116,         -115,         -114,         -113,
        -112,         -111,         -110,         -109,
        -108,         -107,         -106,         -105,
        -104,         -103,         -102,         -101,
        -100,          -99,          -98,          -97,
         -96,          -95,          -94,          -93,
         -92,          -91,          -90,          -89,
         -88,          -87,          -86,          -85,
         -84,          -83,          -82,          -81,
         -80,          -79,          -78,          -77,
         -76,          -75,          -74,          -73,
         -72,          -71,          -70,          -69,
         -68,          -67,          -66,          -65,
         -64,          -63,          -62,          -61,
         -60,          -59,          -58,          -57,
         -56,          -55,          -54,          -53,
         -52,          -51,          -50,          -49,
         -48,          -47,          -46,          -45,
         -44,          -43,          -42,          -41,
         -40,          -39,          -38,          -37,
         -36,          -35,          -34,          -33,
         -32,          -31,          -30,          -29,
         -28,          -27,          -26,          -25,
         -24,          -23,          -22,          -21,
         -20,          -19,          -18,          -17,
         -16,          -15,          -14,          -13,
         -12,          -11,          -10,           -9,
          -8,           -7,           -6,           -5,
          -4,           -3,           -2,           -1,
           0,            1,            2,            3,
           4,            5,            6,            7,
           8,            9,           10,           11,
          12,           13,           14,           15,
          16,           17,           18,           19,
          20,           21,           22,           23,
          24,           25,           26,           27,
          28,           29,           30,           31,
          32,           33,           34,           35,
          36,           37,           38,           39,
          40,           41,           42,           43,
          44,           45,           46,           47,
          48,           49,           50,           51,
          52,           53,           54,           55,
          56,           57,           58,           59,
          60,           61,           62,           63,
          64,           65,           66,           67,
          68,           69,           70,           71,
          72,           73,           74,           75,
          76,           77,           78,           79,
          80,           81,           82,           83,
          84,           85,           86,           87,
          88,           89,           90,           91,
          92,           93,           94,           95,
          96,           65 /* A */,   66 /* B */,   67 /* C */,
          68 /* D */,   69 /* E */,   70 /* F */,   71 /* G */,
          72 /* H */,   73 /* I */,   74 /* J */,   75 /* K */,
          76 /* L */,   77 /* M */,   78 /* N */,   79 /* O */,
          80 /* P */,   81 /* Q */,   82 /* R */,   83 /* S */,
          84 /* T */,   85 /* U */,   86 /* V */,   87 /* W */,
          88 /* X */,   89 /* Y */,   90 /* Z */,  123,
         124,          125,          126,          127,
         128,          129,          130,          131,
         132,          133,          134,          135,
         136,          137,          138,          139,
         140,          141,          142,          143,
         144,          145,          146,          147,
         148,          149,          150,          151,
         152,          153,          154,          155,
         156,          157,          158,          159,
         160,          161,          162,          163,
         164,          165,          166,          167,
         168,          169,          170,          171,
         172,          173,          174,          175,
         176,          177,          178,          179,
         180,          181,          182,          183,
         184,          185,          186,          187,
         188,          189,          190,          191,
         192,          193,          194,          195,
         196,          197,          198,          199,
         200,          201,          202,          203,
         204,          205,          206,          207,
         208,          209,          210,          211,
         212,          213,          214,          215,
         216,          217,          218,          219,
         220,          221,          222,          223,
         224,          225,          226,          227,
         228,          229,          230,          231,
         232,          233,          234,          235,
         236,          237,          238,          239,
         240,          241,          242,          243,
         244,          245,          246,          247,
         248,          249,          250,          251,
         252,          253,          254,          255
};

const __int32_t* ctype_data[] = {ctype_toupper_data};

__const __int32_t** __ctype_toupper_loc() {
    return ctype_data;
}
